export type IPanelType =
  | "collapse"
  | "chart"
  // 折线图
  | "line"
  | "bar"
  | "pie"
  | "table"
  | "list"
  // 仪表盘
  | "gauge"
  // 温度计
  | "thermometer";

export interface ITableItem {
  label: string;
  value: string;
  isSelect?: boolean;
}

export interface ITableData {
  headerName: string;
  list: ITableItem[];
}

export interface IListItem {
  label: string;
  value: string;
}

// 表头项类型
export interface IListColumn {
  label: string; // 表头显示名
  prop: string; // 对应数据字段
  width?: string; // 宽度
}

// 单条表格数据类型
export interface IListRow {
  id: string; // 唯一标识
  level: string; // 级别
  entityId: string; // 实体Id
  content: string; // 内容
  time: string; // 时间（ISO字符串）
  width?: string; // 宽度
}

// 表格数据列表类型
export interface IListData {
  listItems: IListRow[];
  listColumns: IListColumn[];
}

export interface IChartLayer {
  id: string;
  name: string;
  type: IPanelType;
  position: {
    x: number | string; // 修改为支持百分比字符串，如"10%"
    y: number | string; // 修改为支持百分比字符串，如"10%"
  };
  size: {
    width: string;
    height: string;
  };
  data?: ITableData | IListData;
}
